﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraBars;
using UniMana.Utils.Config;

namespace UniMana.Controls
{
    public partial class xucBar : DevExpress.XtraEditors.XtraUserControl
    {
        public delegate void ButtonClickHandler(object sender, DevExpress.XtraBars.ItemClickEventArgs e);

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnAddNew_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnDelete_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnEdit_Click;


        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnCancel_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnSave_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnPrint_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnRefresh_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnImport_Click;

        [Browsable(true)]
        [Category("UniMana")]
        public event ButtonClickHandler btnExport_Click;

        public DevExpress.Utils.WaitDialogForm dlg; 

        public xucBar()
        {
            InitializeComponent();
        }

        #region [Properties]


        #region [Visible]
        [Browsable (true)]
        [Category ("LAU Custom")]
        public bool AddNewVisible
        {
            get
            {
                if (btnAddNew.Visibility == BarItemVisibility.Always)
                    return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnAddNew.Visibility = BarItemVisibility.Always;
                else
                    btnAddNew.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool DeleteVisible
        {
            get
            {
                if (btnDelete.Visibility == BarItemVisibility.Always)
                    return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnDelete.Visibility = BarItemVisibility.Always;
                else
                    btnDelete.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool EditVisible
        {
            get
            {
                if (btnEdit.Visibility == BarItemVisibility.Always)
                    return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnEdit.Visibility = BarItemVisibility.Always;
                else
                    btnEdit.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool CancelVisible
        {
            get
            {
                if (btnCancel.Visibility == BarItemVisibility.Always)
                    return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnCancel.Visibility = BarItemVisibility.Always;
                else
                    btnCancel.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool SaveVisible
        {
            get
            {
                if (btnSave.Visibility == BarItemVisibility.Always)
                    return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnSave.Visibility = BarItemVisibility.Always;
                else
                    btnSave.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool PrintVisible
        {
            get
            {
                if (btnPrint.Visibility == BarItemVisibility.Always) return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnPrint.Visibility = BarItemVisibility.Always;
                else
                    btnPrint.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool ImportExcelVisible
        {
            get { 
                if(btnImportExcel.Visibility == BarItemVisibility.Always) 
                    return true;
                 else return false;
            }
            set
            {
                if (value == true)
                    btnImportExcel.Visibility = BarItemVisibility.Always;
                else
                    btnImportExcel.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool ExportExcelVisible
        {
            get
            {
                if (btnExportExcel.Visibility == BarItemVisibility.Always) return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnExportExcel.Visibility = BarItemVisibility.Always;
                else
                    btnExportExcel.Visibility = BarItemVisibility.Never;

            }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public bool ReLoadVisible
        {
            get
            {
                if (btnRefresh.Visibility == BarItemVisibility.Always) return true;
                else return false;
            }
            set
            {
                if (value == true)
                    btnRefresh.Visibility = BarItemVisibility.Always;
                else
                    btnRefresh.Visibility = BarItemVisibility.Never;

            }
        }
        #endregion

        #region [Caption]
        [Browsable(true)]
        [Category("LAU Custom")]
        public string AddNewCaption
        {
            get { return btnAddNew.Caption; }
            set { btnAddNew.Caption = value; }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public string DeleteCaption
        {
            get { return btnDelete.Caption; }
            set { btnDelete.Caption = value; }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public string EditCaption
        {
            get { return btnEdit.Caption; }
            set { btnEdit.Caption = value; }
        }

        [Browsable(true)]
        [Category("LAU Custom")]
        public string SaveCaption
        {
            get { return btnSave.Caption; }
            set { btnSave.Caption = value; }
        }



        #endregion

        #endregion

        #region [Custom Event]

        private void btnAddNew_ItemClick(object sender, ItemClickEventArgs e)
        {
            
            if (btnAddNew_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnAddNew_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
           
        }

        private void btnDelete_ItemClick(object sender, ItemClickEventArgs e)
        {
          
            if (btnDelete_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnDelete_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
            
        }

        private void btnEdit_ItemClick(object sender, ItemClickEventArgs e)
        {
            
            if (btnEdit_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnEdit_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
        }

        private void btnCancel_ItemClick(object sender, ItemClickEventArgs e)
        {
           
            if (btnCancel_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnCancel_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
            
        }

        private void btnSave_ItemClick(object sender, ItemClickEventArgs e)
        {
            
            if (btnSave_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnSave_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
        }

        private void btnPrint_ItemClick(object sender, ItemClickEventArgs e)
        {
            //DevExpress.Utils.WaitDialogForm dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
            if (btnPrint_Click != null)
            {
                btnPrint_Click(sender, e);
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
            //dlg.Close();
        }

        private void btnRefresh_ItemClick(object sender, ItemClickEventArgs e)
        {
            
            if (btnRefresh_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnRefresh_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
        }

        private void btnImportExcel_ItemClick(object sender, ItemClickEventArgs e)
        {
           
            if (btnImport_Click != null)
            {
                dlg = new DevExpress.Utils.WaitDialogForm(MsgConfig.MSG_WAIT, MsgConfig.MSG_LOADING);
                btnImport_Click(sender, e);
                dlg.Close();
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
        }

        private void btnExportExcel_ItemClick(object sender, ItemClickEventArgs e)
        {
            //DevExpress.Utils.WaitDialogForm dlg = new DevExpress.Utils.WaitDialogForm(MSG_WAIT);
            if (btnExport_Click != null)
            {
                btnExport_Click(sender, e);
            }
            else
            {
                XtraMessageBox.Show("Chức năng đang được xây dựng", "Nhóm phát triển");
            }
            //dlg.Close();
        }

        #endregion
    }
}
